package cn.dwy2002.binaryhandwritingserver.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author 杜伟毅
 * @version 1.0
 * @since 2025/05/28
 */
@Mapper
public interface ProjectTagMapper {
    /**
     * 插入项目与标签的关联关系
     *
     * @param projectId 项目的唯一标识
     * @param tagId     标签的唯一标识
     * @author 杜伟毅
     * @since 2025/5/28 0028 21:45
     */
    void insertRelation(@Param("projectId") Long projectId, @Param("tagId") Long tagId);

    /**
     * 根据项目ID删除其所有标签关联记录
     *
     * @param projectId 要删除关联的项目ID
     * @author 杜伟毅
     * @since 2025/5/28 0028 21:45
     */
    void deleteByProjectId(@Param("projectId") Long projectId);

    /**
     * 查询某个项目关联的所有标签ID
     *
     * @param projectId 项目ID
     * @return 返回该项目关联的所有标签ID列表
     * @author 杜伟毅
     * @since 2025/5/28 0028 21:45
     */
    List<Long> selectTagsByProjectId(Long projectId);
}
